package com.logic.landseaserver.service;


import java.util.List;

import javax.servlet.http.HttpServletResponse;

import com.logic.common.exception.BusinessException;
import com.logic.common.service.ICRUDService;
import com.logic.common.util.QueryUtil;
import com.logic.landseaserver.common.exception.LandseaBusinessException;
import com.logic.landseaserver.ws.dto.PropertyDTO;
import com.logic.landseaserver.ws.dto.PropertyHistoryDTO;
import com.logic.landseaserver.ws.request.PropertyStatusHistoryReq;
import com.logic.landseaserver.ws.request.StatisticsByStatusReq;
import com.logic.landseaserver.ws.request.SuspendPropertyReq;
import com.logic.landseaserver.ws.response.StatisticsByStatusResp;


public interface IProperty extends ICRUDService {
    //中止
    void suspendProperty(SuspendPropertyReq req) throws LandseaBusinessException;

    //继续
    void contineProperty(PropertyStatusHistoryReq req) throws LandseaBusinessException;

    //审批提交
    void checkSubmit(PropertyStatusHistoryReq req) throws LandseaBusinessException;

    //立项提交
    void signSubmit(PropertyStatusHistoryReq req) throws LandseaBusinessException;

    //上报物业
    void reportProperty(PropertyStatusHistoryReq req) throws LandseaBusinessException;

    //投决通过
    void decisionSubmit(PropertyStatusHistoryReq req) throws LandseaBusinessException;

    //导出
    void exportPropertyList(HttpServletResponse response, String ids);

    List<PropertyHistoryDTO> queryPropertyHistory(Integer id);

    List<PropertyDTO> queryPage(QueryUtil queryUtil) throws BusinessException;

    //统计物业
    List<StatisticsByStatusResp> statisticsByStatus(StatisticsByStatusReq req) throws LandseaBusinessException;


    List<PropertyDTO> queryDTO(QueryUtil queryUtil);

}
